<!DOCTYPE html>
<html>
  <head>
    <title>string新方法</title>
    <style></style>
  </head>
  <body>
    <script>
      //   只摘几个常用的
      const sourceString = 'I am string!'
      // includes(Stirng) 返回布尔值，表示是否找到了参数字符串。
      // startsWith(Stirng) 返回布尔值，表示参数字符串是否在原字符串的头部。
      // endsWith(Stirng) 返回布尔值，表示参数字符串是否在原字符串的尾部。
      console.log(sourceString.includes('am')) // true
      console.log(sourceString.startsWith('I am')) // true
      console.log(sourceString.endsWith('!')) // true
      console.log('----------------------------------')

      // repeat(Number) 返回新串，将字符重复几次
      console.log(sourceString.repeat(2)) // I am string!I am string!
      console.log('----------------------------------')

      // padStart(Number, String)，padEnd(Number, String) 返回新串，用于补全。第二个参数可选 ES2017
      // 常用于：1、补全位数 2、格式化
      console.log(sourceString.padStart(20, 'XXY'))
      console.log(sourceString.padStart(20)) // 不写第二个参数，会用空格补全
      console.log(sourceString.padStart(20, 'XXYYZZWW到此为止')) // 补全时若可用长度不足，会自行截断
      console.log('----------------------------------')

      // trim()，trimStart()，trimEnd() 返回新串，消除头/尾的空格
      console.log(' I also am string!   '.trim())
      console.log(' I also am string!   '.trimStart())
      console.log(' I also am string!   '.trimEnd())
      console.log('----------------------------------')

      // replaceAll()，与replace一致，但使用正则时，必须使用g模式。替换全部

      // at() 返回对应index的字符，支持负数。超出则返回undefined
      // 尚在探索阶段
      console.log(sourceString.at(5))
    </script>
  </body>
</html>
